﻿using DanceIntegration.Models.db;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

using System.Linq;
using System.Web;

namespace DanceIntegration.Models.db
{
    [Table("Persones")]
    public class Person
    {

        public int ID { get; set; }

        [Required]
        [StringLength(100, ErrorMessage = "{0} должно быть не менее {2} символов длинной.", MinimumLength = 2)]
        [DataType(DataType.Text)]
        [Display(Name = "Имя")]
        public string FirstName { get; set; }

        [Required]
        [StringLength(100, ErrorMessage = "{0} должно быть не менее {2} символов длинной.", MinimumLength = 2)]
        [DataType(DataType.Text)]
        [Display(Name = "Фамилия")]
        public string LastName { get; set; }

        [Required]
        [StringLength(100, ErrorMessage = "{0} должно быть не менее {2} символов длинной.", MinimumLength = 2)]
        [DataType(DataType.Text)]
        [Display(Name = "Отчество")]
        public string MiddleName { get; set; }

        [Required]
        [Display(Name = "Дата рождения")]
        public DateTime BirthDate { get; set; }

        [DataType(DataType.Upload)]
        [Display(Name = "Фото")]
        public byte[] Image { get; set; }


        [DataType(DataType.EmailAddress)]
        [Display(Name = "Эл. ящик")]
        [UIHint("На этот эл. ящик придет письмо с логином и паролем в систему")]
        public string Email { get; set; }


        [DataType(DataType.PhoneNumber)]
        [Display(Name = "Номер телефона")]
        [UIHint("Номер телефона для связи")]
        public string Phone { get; set; }

        
        public string ApplicationUserID { get; set; }
        public virtual ApplicationUser Login { get; set; }


        public ICollection<EventMember> EventMembers { get; set; }



        [Display(Name = "ФИО")]
        public string FullName
        {
            get
            {
                return LastName + " " + FirstName[0] + ". "+MiddleName[0]+".";
            }
        }



    }
}